package com.netease.financial.common.config;

import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;

import com.netease.financial.common.R;

/**
 * Created by wyf on 11/16/15.
 */
public class NfsConfig {

    private static final Bundle mValues = new Bundle();

    public static void init(Context context) {
        Resources res = context.getResources();
        mValues.putString(NfsConfigValues.CONFIG_NFS_HOST, res.getString(R.string.nfsHost));
        mValues.putString(NfsConfigValues.CONFIG_URL_HOME, res.getString(R.string.homeUrl));
        mValues.putString(NfsConfigValues.CONFIG_URL_PRODUCT, res.getString(R.string.productUrl));
        mValues.putString(NfsConfigValues.CONFIG_URL_INFORMATION, res.getString(R.string.informationUrl));
        mValues.putString(NfsConfigValues.CONFIG_URL_ASSET, res.getString(R.string.assetUrl));
        mValues.putString(NfsConfigValues.CONFIG_URL_ACCOUNT,res.getString(R.string.accountUrl));
        mValues.putString(NfsConfigValues.CONFIG_NFS_API_END_POINT, res.getString(R.string.sgwApiEndPoint));

        mValues.putString(NfsConfigValues.CONFIG_CLOUD_CUSTOMER_SERVICE_APP_ID, res.getString(R.string.cloudCustomerServiceAppId));
        mValues.putString(NfsConfigValues.CONFIG_WE_CHAT_APP_ID, res.getString(R.string.wechatAppId));
        mValues.putString(NfsConfigValues.CONFIG_EASY_CHAT_APP_ID, res.getString(R.string.easychatAppId));
        mValues.putString(NfsConfigValues.CONFIG_SINA_WEIBO_APP_KEY, res.getString(R.string.sinaWeiboAppKey));

        mValues.putBoolean(NfsConfigValues.CONFIG_TEST_ENABLED, res.getBoolean(R.bool.testEnabled));
        mValues.putBoolean(NfsConfigValues.CONFIG_DEBUG_LOG_ENABLED, res.getBoolean(R.bool.debugLogEnabled));
        mValues.putBoolean(NfsConfigValues.CONFIG_INFO_LOG_ENABLED, res.getBoolean(R.bool.infoLogEnabled));
        mValues.putBoolean(NfsConfigValues.CONFIG_WARNING_LOG_ENABLED, res.getBoolean(R.bool.warningLogEnabled));
        mValues.putBoolean(NfsConfigValues.CONFIG_ERROR_LOG_ENABLED, res.getBoolean(R.bool.errorLogEnabled));
        mValues.putBoolean(NfsConfigValues.CONFIG_VERBOSE_LOG_ENABLED, res.getBoolean(R.bool.verboseLogEnabled));
        mValues.putBoolean(NfsConfigValues.CONFIG_STACK_LOG_ENABLED, res.getBoolean(R.bool.stackLogEnabled));
    }

    public static Boolean isTestEnabled() {
        return mValues.getBoolean(NfsConfigValues.CONFIG_TEST_ENABLED, NfsConfigValues.CONFIG_TEST_ENABLED_DEFAULT);
    }

    public static Boolean isDebugLogEnabled() {
        return mValues.getBoolean(NfsConfigValues.CONFIG_DEBUG_LOG_ENABLED, NfsConfigValues.CONFIG_DEBUG_LOG_ENABLED_DEFAULT);
    }

    public static Boolean isInfoLogEnabled() {
        return mValues.getBoolean(NfsConfigValues.CONFIG_INFO_LOG_ENABLED, NfsConfigValues.CONFIG_INFO_LOG_ENABLED_DEFAULT);
    }

    public static Boolean isWarningLogEnabled() {
        return mValues.getBoolean(NfsConfigValues.CONFIG_WARNING_LOG_ENABLED, NfsConfigValues.CONFIG_WARNING_LOG_ENABLED_DEFAULT);
    }

    public static Boolean isErrorLogEnabled() {
        return mValues.getBoolean(NfsConfigValues.CONFIG_ERROR_LOG_ENABLED, NfsConfigValues.CONFIG_ERROR_LOG_ENABLED_DEFAULT);
    }

    public static Boolean isVerboseEnabled() {
        return mValues.getBoolean(NfsConfigValues.CONFIG_VERBOSE_LOG_ENABLED, NfsConfigValues.CONFIG_VERBOSE_ENABLED_DEFAULT);
    }

    public static Boolean isStackLogEnabled() {
        return mValues.getBoolean(NfsConfigValues.CONFIG_STACK_LOG_ENABLED, NfsConfigValues.CONFIG_STACK_LOG_ENABLED_DEFAULT);
    }

    public static String getNfsHost() {
        return mValues.getString(NfsConfigValues.CONFIG_NFS_HOST, NfsConfigValues.CONFIG_NFS_HOST_DEFAULT);
    }

    public static String getHomeUrl() {
        return mValues.getString(NfsConfigValues.CONFIG_URL_HOME, NfsConfigValues.CONFIG_URL_HOME_DEFAULT);
    }

    public static String getAccountUrl() {
        return mValues.getString(NfsConfigValues.CONFIG_URL_ACCOUNT, NfsConfigValues.CONFIG_URL_ACCOUNT_DEFAULT);
    }

    public static String getProductUrl() {
        return mValues.getString(NfsConfigValues.CONFIG_URL_PRODUCT, NfsConfigValues.CONFIG_URL_PRODUCT_DEFAULT);
    }

    public static String getInformationUrl() {
        return mValues.getString(NfsConfigValues.CONFIG_URL_INFORMATION, NfsConfigValues.CONFIG_URL_INFORMATION_DEFAULT);
    }

    public static String getAssetUrl() {
        return mValues.getString(NfsConfigValues.CONFIG_URL_ASSET, NfsConfigValues.CONFIG_URL_ASSET_DEFAULT);
    }

    public static String getNfsApiEndPoint() {
        return mValues.getString(NfsConfigValues.CONFIG_NFS_API_END_POINT, NfsConfigValues.CONFIG_NFS_API_END_POINT_DEFAULT);
    }

    public static String getCloudCustomerServiceAppId() {
        return mValues.getString(NfsConfigValues.CONFIG_CLOUD_CUSTOMER_SERVICE_APP_ID, NfsConfigValues.CONFIG_CLOUD_CUSTOMER_SERVICE_APP_ID_DEFAULT);
    }

    public static String getWeChatAppId() {
        return mValues.getString(NfsConfigValues.CONFIG_WE_CHAT_APP_ID, NfsConfigValues.CONFIG_WE_CHAT_APP_ID_DEFAULT);
    }

    public static String getEasyChatAppId() {
        return mValues.getString(NfsConfigValues.CONFIG_EASY_CHAT_APP_ID, NfsConfigValues.CONFIG_EASY_CHAT_APP_ID_DEFAULT);
    }
    public static String getSinaWeiboAppKey() {
        return mValues.getString(NfsConfigValues.CONFIG_SINA_WEIBO_APP_KEY, NfsConfigValues.CONFIG_SINA_WEIBO_APP_KEY_DEFAULT);
    }

}
